#include<bits/stdc++.h>
using namespace std;
int n,cnt;
struct node{
	int v;
	int vis;
};
node N[100003];
bool cmp(node x,node y){
	return x.v<y.v;
}
int main()
{
	freopen("duel.in","r",stdin);
	freopen("duel.out","w",stdout);
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		scanf("%d",&N[i].v);
		N[i].vis=0;
	}
	sort(N+1,N+n+1,cmp);
	for(int i=1;i<=n;i++){
		int g=N[i].v,l=i+1,r=n,mid;
		while(l<r){
			mid=(l+r)/2;
			if(N[mid].v>g){
				r=mid;
			}
			else{
				l=mid+1;
			}
		}		
		while(l<n&&(N[l].v<=g||N[l].vis!=0)){
			l++;
		}

		if(l==n&&N[l].vis==1)break;
		if(N[l].v>N[i].v){
			N[l].vis=1;
			N[i].vis=-1;
		}	
	}
	for(int i=1;i<=n;i++){
		if(N[i].vis!=-1)cnt++;
	}
	printf("%d",cnt);
	return 0;
}
